using System;
using bitzhuwei.Compiler;

namespace bitzhuwei.AnsiCFormat {
    partial class CompilerAnsiC {
        /// <summary>
        /// Vt types are used both for lexical-analyze and syntax-parse.
        /// <para>Vn types are only for syntax-parse.</para>
        /// <para>Vt is quoted in ''.</para>
        /// <para>Vn is not quoted in ''.</para>
        /// </summary>
        public static class st {
            // Vt
            /// <summary>
            /// Something wrong within the source code.
            /// </summary>
            public const int Error错 = -1; // "'×'";

            /// <summary>
            /// '¥'
            /// </summary>
            public const int @终 = 0; // "'¥'"

            /// <summary>
            /// 'blockComment'
            /// </summary>
            public const int @blockComment块 = 1; // "'blockComment'"
            /// <summary>
            /// 'inlineComment'
            /// </summary>
            public const int @inlineComment行 = 2; // "'inlineComment'"
            /// <summary>
            /// 'identifier'
            /// </summary>
            public const int @identifier = 3; // "'identifier'"
            /// <summary>
            /// 'constant'
            /// </summary>
            public const int @constant = 4; // "'constant'"
            /// <summary>
            /// 'string_literal'
            /// </summary>
            public const int @string_literal = 5; // "'string_literal'"
            /// <summary>
            /// '('
            /// </summary>
            public const int @LeftParenthesis符 = 6; // "'('"
            /// <summary>
            /// ')'
            /// </summary>
            public const int @RightParenthesis符 = 7; // "')'"
            /// <summary>
            /// '['
            /// </summary>
            public const int @LeftBracket符 = 8; // "'['"
            /// <summary>
            /// ']'
            /// </summary>
            public const int @RightBracket符 = 9; // "']'"
            /// <summary>
            /// '.'
            /// </summary>
            public const int @Dot符 = 10; // "'.'"
            /// <summary>
            /// '->'
            /// </summary>
            public const int @Dash符RightAngle符 = 11; // "'->'"
            /// <summary>
            /// '++'
            /// </summary>
            public const int @Plus符Plus符 = 12; // "'++'"
            /// <summary>
            /// '--'
            /// </summary>
            public const int @Dash符Dash符 = 13; // "'--'"
            /// <summary>
            /// ','
            /// </summary>
            public const int @Comma符 = 14; // "','"
            /// <summary>
            /// 'sizeof'
            /// </summary>
            public const int @sizeof = 15; // "'sizeof'"
            /// <summary>
            /// '&'
            /// </summary>
            public const int @And符 = 16; // "'&'"
            /// <summary>
            /// '*'
            /// </summary>
            public const int @Asterisk符 = 17; // "'*'"
            /// <summary>
            /// '+'
            /// </summary>
            public const int @Plus符 = 18; // "'+'"
            /// <summary>
            /// '-'
            /// </summary>
            public const int @Dash符 = 19; // "'-'"
            /// <summary>
            /// '~'
            /// </summary>
            public const int @Tilde符 = 20; // "'~'"
            /// <summary>
            /// '!'
            /// </summary>
            public const int @Bang符 = 21; // "'!'"
            /// <summary>
            /// '/'
            /// </summary>
            public const int @Slash符 = 22; // "'/'"
            /// <summary>
            /// '%'
            /// </summary>
            public const int @Percent符 = 23; // "'%'"
            /// <summary>
            /// '<<'
            /// </summary>
            public const int @LeftAngle符LeftAngle符 = 24; // "'<<'"
            /// <summary>
            /// '>>'
            /// </summary>
            public const int @RightAngle符RightAngle符 = 25; // "'>>'"
            /// <summary>
            /// '<'
            /// </summary>
            public const int @LeftAngle符 = 26; // "'<'"
            /// <summary>
            /// '>'
            /// </summary>
            public const int @RightAngle符 = 27; // "'>'"
            /// <summary>
            /// '<='
            /// </summary>
            public const int @LeftAngle符Equal符 = 28; // "'<='"
            /// <summary>
            /// '>='
            /// </summary>
            public const int @RightAngle符Equal符 = 29; // "'>='"
            /// <summary>
            /// '=='
            /// </summary>
            public const int @Equal符Equal符 = 30; // "'=='"
            /// <summary>
            /// '!='
            /// </summary>
            public const int @Bang符Equal符 = 31; // "'!='"
            /// <summary>
            /// '^'
            /// </summary>
            public const int @Caret符 = 32; // "'^'"
            /// <summary>
            /// '|'
            /// </summary>
            public const int @Pipe符 = 33; // "'|'"
            /// <summary>
            /// '&&'
            /// </summary>
            public const int @And符And符 = 34; // "'&&'"
            /// <summary>
            /// '||'
            /// </summary>
            public const int @Pipe符Pipe符 = 35; // "'||'"
            /// <summary>
            /// '?'
            /// </summary>
            public const int @Question符 = 36; // "'?'"
            /// <summary>
            /// ':'
            /// </summary>
            public const int @Colon符 = 37; // "':'"
            /// <summary>
            /// '='
            /// </summary>
            public const int @Equal符 = 38; // "'='"
            /// <summary>
            /// '*='
            /// </summary>
            public const int @Asterisk符Equal符 = 39; // "'*='"
            /// <summary>
            /// '/='
            /// </summary>
            public const int @Slash符Equal符 = 40; // "'/='"
            /// <summary>
            /// '%='
            /// </summary>
            public const int @Percent符Equal符 = 41; // "'%='"
            /// <summary>
            /// '+='
            /// </summary>
            public const int @Plus符Equal符 = 42; // "'+='"
            /// <summary>
            /// '-='
            /// </summary>
            public const int @Dash符Equal符 = 43; // "'-='"
            /// <summary>
            /// '<<='
            /// </summary>
            public const int @LeftAngle符LeftAngle符Equal符 = 44; // "'<<='"
            /// <summary>
            /// '>>='
            /// </summary>
            public const int @RightAngle符RightAngle符Equal符 = 45; // "'>>='"
            /// <summary>
            /// '&='
            /// </summary>
            public const int @And符Equal符 = 46; // "'&='"
            /// <summary>
            /// '^='
            /// </summary>
            public const int @Caret符Equal符 = 47; // "'^='"
            /// <summary>
            /// '|='
            /// </summary>
            public const int @Pipe符Equal符 = 48; // "'|='"
            /// <summary>
            /// ';'
            /// </summary>
            public const int @Semicolon符 = 49; // "';'"
            /// <summary>
            /// 'typedef'
            /// </summary>
            public const int @typedef = 50; // "'typedef'"
            /// <summary>
            /// 'extern'
            /// </summary>
            public const int @extern = 51; // "'extern'"
            /// <summary>
            /// 'static'
            /// </summary>
            public const int @static = 52; // "'static'"
            /// <summary>
            /// 'auto'
            /// </summary>
            public const int @auto = 53; // "'auto'"
            /// <summary>
            /// 'register'
            /// </summary>
            public const int @register = 54; // "'register'"
            /// <summary>
            /// 'void'
            /// </summary>
            public const int @void = 55; // "'void'"
            /// <summary>
            /// 'char'
            /// </summary>
            public const int @char = 56; // "'char'"
            /// <summary>
            /// 'short'
            /// </summary>
            public const int @short = 57; // "'short'"
            /// <summary>
            /// 'int'
            /// </summary>
            public const int @int = 58; // "'int'"
            /// <summary>
            /// 'long'
            /// </summary>
            public const int @long = 59; // "'long'"
            /// <summary>
            /// 'float'
            /// </summary>
            public const int @float = 60; // "'float'"
            /// <summary>
            /// 'double'
            /// </summary>
            public const int @double = 61; // "'double'"
            /// <summary>
            /// 'signed'
            /// </summary>
            public const int @signed = 62; // "'signed'"
            /// <summary>
            /// 'unsigned'
            /// </summary>
            public const int @unsigned = 63; // "'unsigned'"
            /// <summary>
            /// 'type_name'
            /// </summary>
            public const int @type_name = 64; // "'type_name'"
            /// <summary>
            /// '{'
            /// </summary>
            public const int @LeftBrace符 = 65; // "'{'"
            /// <summary>
            /// '}'
            /// </summary>
            public const int @RightBrace符 = 66; // "'}'"
            /// <summary>
            /// 'struct'
            /// </summary>
            public const int @struct = 67; // "'struct'"
            /// <summary>
            /// 'union'
            /// </summary>
            public const int @union = 68; // "'union'"
            /// <summary>
            /// 'enum'
            /// </summary>
            public const int @enum = 69; // "'enum'"
            /// <summary>
            /// 'const'
            /// </summary>
            public const int @const = 70; // "'const'"
            /// <summary>
            /// 'volatile'
            /// </summary>
            public const int @volatile = 71; // "'volatile'"
            /// <summary>
            /// '...'
            /// </summary>
            public const int @Dot符Dot符Dot符 = 72; // "'...'"
            /// <summary>
            /// 'case'
            /// </summary>
            public const int @case = 73; // "'case'"
            /// <summary>
            /// 'default'
            /// </summary>
            public const int @default = 74; // "'default'"
            /// <summary>
            /// 'if'
            /// </summary>
            public const int @if = 75; // "'if'"
            /// <summary>
            /// 'else'
            /// </summary>
            public const int @else = 76; // "'else'"
            /// <summary>
            /// 'switch'
            /// </summary>
            public const int @switch = 77; // "'switch'"
            /// <summary>
            /// 'while'
            /// </summary>
            public const int @while = 78; // "'while'"
            /// <summary>
            /// 'do'
            /// </summary>
            public const int @do = 79; // "'do'"
            /// <summary>
            /// 'for'
            /// </summary>
            public const int @for = 80; // "'for'"
            /// <summary>
            /// 'goto'
            /// </summary>
            public const int @goto = 81; // "'goto'"
            /// <summary>
            /// 'continue'
            /// </summary>
            public const int @continue = 82; // "'continue'"
            /// <summary>
            /// 'break'
            /// </summary>
            public const int @break = 83; // "'break'"
            /// <summary>
            /// 'return'
            /// </summary>
            public const int @return = 84; // "'return'"

            /// <summary>
            /// kinds of ('¥' + user-defined Vt)
            /// </summary>
            public const int eVtKinds = 85;


            // Vn
            /// <summary>
            /// primary_expression
            /// </summary>
            public const int primary_expression枝 = 85; // "primary_expression"
            /// <summary>
            /// postfix_expression
            /// </summary>
            public const int postfix_expression枝 = 86; // "postfix_expression"
            /// <summary>
            /// argument_expression_list
            /// </summary>
            public const int argument_expression_list枝 = 87; // "argument_expression_list"
            /// <summary>
            /// unary_expression
            /// </summary>
            public const int unary_expression枝 = 88; // "unary_expression"
            /// <summary>
            /// unary_operator
            /// </summary>
            public const int unary_operator枝 = 89; // "unary_operator"
            /// <summary>
            /// cast_expression
            /// </summary>
            public const int cast_expression枝 = 90; // "cast_expression"
            /// <summary>
            /// multiplicative_expression
            /// </summary>
            public const int multiplicative_expression枝 = 91; // "multiplicative_expression"
            /// <summary>
            /// additive_expression
            /// </summary>
            public const int additive_expression枝 = 92; // "additive_expression"
            /// <summary>
            /// shift_expression
            /// </summary>
            public const int shift_expression枝 = 93; // "shift_expression"
            /// <summary>
            /// relational_expression
            /// </summary>
            public const int relational_expression枝 = 94; // "relational_expression"
            /// <summary>
            /// equality_expression
            /// </summary>
            public const int equality_expression枝 = 95; // "equality_expression"
            /// <summary>
            /// and_expression
            /// </summary>
            public const int and_expression枝 = 96; // "and_expression"
            /// <summary>
            /// exclusive_or_expression
            /// </summary>
            public const int exclusive_or_expression枝 = 97; // "exclusive_or_expression"
            /// <summary>
            /// inclusive_or_expression
            /// </summary>
            public const int inclusive_or_expression枝 = 98; // "inclusive_or_expression"
            /// <summary>
            /// logical_and_expression
            /// </summary>
            public const int logical_and_expression枝 = 99; // "logical_and_expression"
            /// <summary>
            /// logical_or_expression
            /// </summary>
            public const int logical_or_expression枝 = 100; // "logical_or_expression"
            /// <summary>
            /// conditional_expression
            /// </summary>
            public const int conditional_expression枝 = 101; // "conditional_expression"
            /// <summary>
            /// assignment_expression
            /// </summary>
            public const int assignment_expression枝 = 102; // "assignment_expression"
            /// <summary>
            /// assignment_operator
            /// </summary>
            public const int assignment_operator枝 = 103; // "assignment_operator"
            /// <summary>
            /// expression
            /// </summary>
            public const int expression枝 = 104; // "expression"
            /// <summary>
            /// constant_expression
            /// </summary>
            public const int constant_expression枝 = 105; // "constant_expression"
            /// <summary>
            /// declaration
            /// </summary>
            public const int declaration枝 = 106; // "declaration"
            /// <summary>
            /// declaration_specifiers
            /// </summary>
            public const int declaration_specifiers枝 = 107; // "declaration_specifiers"
            /// <summary>
            /// init_declarator_list
            /// </summary>
            public const int init_declarator_list枝 = 108; // "init_declarator_list"
            /// <summary>
            /// init_declarator
            /// </summary>
            public const int init_declarator枝 = 109; // "init_declarator"
            /// <summary>
            /// storage_class_specifier
            /// </summary>
            public const int storage_class_specifier枝 = 110; // "storage_class_specifier"
            /// <summary>
            /// type_specifier
            /// </summary>
            public const int type_specifier枝 = 111; // "type_specifier"
            /// <summary>
            /// struct_or_union_specifier
            /// </summary>
            public const int struct_or_union_specifier枝 = 112; // "struct_or_union_specifier"
            /// <summary>
            /// struct_or_union
            /// </summary>
            public const int struct_or_union枝 = 113; // "struct_or_union"
            /// <summary>
            /// struct_declaration_list
            /// </summary>
            public const int struct_declaration_list枝 = 114; // "struct_declaration_list"
            /// <summary>
            /// struct_declaration
            /// </summary>
            public const int struct_declaration枝 = 115; // "struct_declaration"
            /// <summary>
            /// specifier_qualifier_list
            /// </summary>
            public const int specifier_qualifier_list枝 = 116; // "specifier_qualifier_list"
            /// <summary>
            /// struct_declarator_list
            /// </summary>
            public const int struct_declarator_list枝 = 117; // "struct_declarator_list"
            /// <summary>
            /// struct_declarator
            /// </summary>
            public const int struct_declarator枝 = 118; // "struct_declarator"
            /// <summary>
            /// enum_specifier
            /// </summary>
            public const int enum_specifier枝 = 119; // "enum_specifier"
            /// <summary>
            /// enumerator_list
            /// </summary>
            public const int enumerator_list枝 = 120; // "enumerator_list"
            /// <summary>
            /// enumerator
            /// </summary>
            public const int enumerator枝 = 121; // "enumerator"
            /// <summary>
            /// type_qualifier
            /// </summary>
            public const int type_qualifier枝 = 122; // "type_qualifier"
            /// <summary>
            /// declarator
            /// </summary>
            public const int declarator枝 = 123; // "declarator"
            /// <summary>
            /// direct_declarator
            /// </summary>
            public const int direct_declarator枝 = 124; // "direct_declarator"
            /// <summary>
            /// pointer
            /// </summary>
            public const int pointer枝 = 125; // "pointer"
            /// <summary>
            /// type_qualifier_list
            /// </summary>
            public const int type_qualifier_list枝 = 126; // "type_qualifier_list"
            /// <summary>
            /// parameter_type_list
            /// </summary>
            public const int parameter_type_list枝 = 127; // "parameter_type_list"
            /// <summary>
            /// parameter_list
            /// </summary>
            public const int parameter_list枝 = 128; // "parameter_list"
            /// <summary>
            /// parameter_declaration
            /// </summary>
            public const int parameter_declaration枝 = 129; // "parameter_declaration"
            /// <summary>
            /// identifier_list
            /// </summary>
            public const int identifier_list枝 = 130; // "identifier_list"
            /// <summary>
            /// type_name
            /// </summary>
            public const int type_name枝 = 131; // "type_name"
            /// <summary>
            /// abstract_declarator
            /// </summary>
            public const int abstract_declarator枝 = 132; // "abstract_declarator"
            /// <summary>
            /// direct_abstract_declarator
            /// </summary>
            public const int direct_abstract_declarator枝 = 133; // "direct_abstract_declarator"
            /// <summary>
            /// initializer
            /// </summary>
            public const int initializer枝 = 134; // "initializer"
            /// <summary>
            /// initializer_list
            /// </summary>
            public const int initializer_list枝 = 135; // "initializer_list"
            /// <summary>
            /// statement
            /// </summary>
            public const int statement枝 = 136; // "statement"
            /// <summary>
            /// labeled_statement
            /// </summary>
            public const int labeled_statement枝 = 137; // "labeled_statement"
            /// <summary>
            /// compound_statement
            /// </summary>
            public const int compound_statement枝 = 138; // "compound_statement"
            /// <summary>
            /// declaration_list
            /// </summary>
            public const int declaration_list枝 = 139; // "declaration_list"
            /// <summary>
            /// statement_list
            /// </summary>
            public const int statement_list枝 = 140; // "statement_list"
            /// <summary>
            /// expression_statement
            /// </summary>
            public const int expression_statement枝 = 141; // "expression_statement"
            /// <summary>
            /// selection_statement
            /// </summary>
            public const int selection_statement枝 = 142; // "selection_statement"
            /// <summary>
            /// iteration_statement
            /// </summary>
            public const int iteration_statement枝 = 143; // "iteration_statement"
            /// <summary>
            /// jump_statement
            /// </summary>
            public const int jump_statement枝 = 144; // "jump_statement"
            /// <summary>
            /// translation_unit
            /// </summary>
            public const int translation_unit枝 = 145; // "translation_unit"
            /// <summary>
            /// external_declaration
            /// </summary>
            public const int external_declaration枝 = 146; // "external_declaration"
            /// <summary>
            /// function_definition
            /// </summary>
            public const int function_definition枝 = 147; // "function_definition"

        }
    }
}
